package com.abewy.android.apps.klyph.core.imageloader;
import java.net.URLEncoder;
import android.content.Context;
import android.net.Uri;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import com.abewy.android.apps.klyph.core.BaseApplication;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.RequestCreator;
public class ImageLoader
{
public static boolean FADE_ENABLED = true;
public static final String FAKE_URI = "http://www.abc.com/12398752.jpg";
protected static final String ALLOWED_URI_CHARS = "@#&=*+-_.,:!?()/~'%";
public static void initImageLoader(Context context)
{
}
public static void display(ImageView imageView, String uri)
{
display(imageView, uri, false, 0, null);
}
public static void display(ImageView imageView, String uri, boolean fadeIn)
{
display(imageView, uri, fadeIn, 0, null);
}
public static void display(ImageView imageView, String uri, int stubImage)
{
display(imageView, uri, false, stubImage, null);
}
public static void display(ImageView imageView, String uri, boolean fadeIn, int stubImage)
{
display(imageView, uri, fadeIn, stubImage, null);
}
public static void display(ImageView imageView, String uri, ImageLoaderListener listener)
{
display(imageView, uri, false, 0, listener);
}
public static void display(ImageView imageView, String uri, boolean fadeIn, int stubImage, ImageLoaderListener listener)
{
if (uri == null || uri.length() == 0)
uri = FAKE_URI;
/*uri = uri.replace("�", URLEncoder.encode("�"));
uri = uri.replace("�", URLEncoder.encode("�"));
uri = uri.replace("'", URLEncoder.encode("'"));
uri = uri.replace("�", URLEncoder.encode("�"));*/
uri = Uri.encode(uri, ALLOWED_URI_CHARS);
Picasso picasso = Picasso.with(imageView.getContext());
RequestCreator requestCreator = picasso.load(uri);
if (stubImage != 0)
{
requestCreator.placeholder(stubImage);
requestCreator.error(stubImage);
}
if (!(fadeIn && FADE_ENABLED))
requestCreator.noFade();
LayoutParams params = imageView.getLayoutParams();
if (params.width > 0 && params.height > 0)
{
requestCreator.resize(params.width, params.height, true);
}
requestCreator.inSampleSize(true);
requestCreator.into(imageView, listener);
}
public static void displayNoScaling(ImageView imageView, String uri, boolean fadeIn, int stubImage, ImageLoaderListener listener)
{
if (uri == null || uri.length() == 0)
uri = FAKE_URI;
Picasso picasso = Picasso.with(imageView.getContext());
RequestCreator requestCreator = picasso.load(uri);
if (stubImage != 0)
{
requestCreator.placeholder(stubImage);
requestCreator.error(stubImage);
}
if (!(fadeIn && FADE_ENABLED))
requestCreator.noFade();
requestCreator.into(imageView, listener);
}
public static void loadImage(String uri, FakeImageLoaderListener listener)
{
if (uri == null || uri.length() == 0)
uri = FAKE_URI;
Picasso.with(BaseApplication.getInstance()).load(uri).into(listener);
}
public static void cancelDisplay(ImageView imageView)
{
if (imageView != null)
{
Picasso.with(imageView.getContext()).cancelRequest(imageView);
}
}
public static void clearImageCache()
{
Picasso.with(BaseApplication.getInstance()).clearCache();
}
}